1. Field of the Invention
The present invention relates to a semiconductor storage device and a method of reading data from the storage device.
2. Description of the Related Art
An example of a cache read operation of a NAND flash memory involves designating the address of a leading page to read it and then reading consecutive pages in a designated block by incrementing the page address each time a page is read (see, for example, Jpn. Pat. Appln. KOKAI Publication No. 2007-213806).
However, this conventional system can only read two or more pages contained in a single block consecutively. Thus, it is impossible to make random access to page data. For example, the cache read operation cannot be used in reading information stored in specific pages of each block so as to span two or more blocks. The usual read operation has to be performed on specific pages in each block by which, for each page, data are transferred from memory cells to the data register and data in the data register are output to the outside. This is disadvantageous to speeding up of the data read operation.
In applications using a NAND flash memory, user data and their associated management data are stored. The user data are usually stored across two or more blocks. The associated management data are stored in certain units of user data. In this case, the management data reside scattered on the memory space. In other words, the management data reside in random blocks and pages. Depending on circumstances, user data do not necessarily reside in consecutive pages and may reside scattered across two or more blocks.
Thus, it is also required to quickly read data which reside in random locations in the address space. The conventional cache read system cannot be used in reading data which reside scattered in two or more blocks, which is disadvantageous to speeding up the read operation. In addition, the data transfer rate in the entire memory system decreases.